#include "timer.h"
#include "s3c24xx.h"
#include "stdio.h"
#include "interrupt.h"
#include "led.h"

static int led_on = 0;
static void handle_irq_timer(int irq, int exirq) {
    printf("handle_irq_timer %d %d\n\r",irq, exirq);
    
    led_on = !led_on;
    handle_led(1, led_on);    
}

static void timer_init(void)
{
    TCFG0  = 99;        // 预分频器0 = 99        
    TCFG1  = 0x03;      // 选择16分频
    // TCNTB0 = 31250;     // 1秒钟触发一次中断
    TCNTB0 = 15625;     // 0.5秒钟触发一次中断
    TCON   |= (1<<1);   // 手动更新
    TCON   = 0x09;      // 自动加载，清“手动更新”位，启动定时器0

    register_irq(10, handle_irq_timer);
}

void test_timer() {
    led_init();
    timer_init();
    while(1);
}
